package cn.wolfcode.trip.base.service;

import cn.wolfcode.trip.base.domain.Strategy;
import cn.wolfcode.trip.base.domain.StrategyComment;
import cn.wolfcode.trip.base.domain.Travel;
import cn.wolfcode.trip.base.query.CollectQueryObject;

import java.util.List;

public interface ICollectService {

    void addStrategyCollect(CollectQueryObject qo);

    void removeStrategyCollect(CollectQueryObject qo);

    void removeTravelCollect(CollectQueryObject qo);

    void addTravelCollect(CollectQueryObject qo);

    Integer countTravelCollect(Long travelId);

    Integer travelIsCollect(Long userId, Long travelId);

    Integer strategyIsCollect(Long userId, Long strategyId);

    Integer countStrategyCollect(Long strategyId);

    List<Travel> selectCollectByUserId(Long userId);

    List<Strategy> selectStrategyCollectByUserId(Long userId);

    void addCommentCollect(CollectQueryObject qo);

    void removeCommentCollect(CollectQueryObject qo);

    Integer countCommentCollect(Long commentId);

    Integer commentIsCollect(Long userId, Long commentId);

    List<StrategyComment> selectCommentCollectByUserId(Long userId);
}
